home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Online / SpeakFreely / src / lpc10 / initial.c < prev    next >
C/C++ Source or Header  |  2000-05-18  |  2KB  |  119 lines

  1. /*  This routine initializes all the routine's arrays for all the routines
  2. so that the "first" variable won't have to be checked every time the
  3. routine is entered
  4. */
  5.  
  6. #include "lpcdefs.h"
  7. #include "config.ch"
  8. #include <string.h>
  9.  
  10. /* analys */
  11. extern float lparray[LBUFH-LBUFL+1], ivarray[PWINH-PWINL+1];
  12. extern float pearray[SBUFH-SBUFL+1], inarray[SBUFH-SBUFL+1];
  13. extern float *inbuf, *pebuf, *lpbuf, *ivbuf;
  14. extern int vwin[2][AF], awin[2][AF], voibuf[2][AF+1];
  15. extern float rmsbuf[AF], amdf[LTAU], psi[MAXORD], rcbuf[MAXORD][AF];
  16.  
  17. /* bsynz */
  18. extern float exc[MAXPIT+MAXORD],  exc2[MAXPIT+MAXORD];
  19.  
  20. /* decode */
  21. extern int drc[3][MAXORD], dpit[3], drms[3];
  22.  
  23. /* dyptrk */
  24. extern float s[60];
  25. extern int p[60][2];
  26.  
  27. /* onset */
  28. extern float l2buf[16];
  29.  
  30. /* synths */
  31. extern int ipiti[11], ivuv[11];
  32. extern float rci[MAXORD][11], rmsi[11], pc[MAXORD];
  33.  
  34.  
  35. initialize1()
  36. {
  37. int i, j;
  38. /* ---------------------- bsynz -------------------------- */
  39. for(i=0;i<MAXPIT+MAXORD;i++)    {
  40.   exc[i] = 0.0;
  41.   exc2[i] = 0.0;
  42. }
  43.  
  44. /* ---------------------- dyptrk -------------------------- */
  45. memset(p, 0, 60*2);
  46. for(i=0;i<60;i++)
  47.   s[i] = 0.0;
  48.     
  49. /* ----------------------- decode ----------------------- */
  50. memset(dpit, 0, 3);
  51. memset(drms, 0, 3);
  52. memset(drc, 0, MAXORD*3);
  53.  
  54. /* ----------------------- synths ----------------------- */
  55. memset(ipiti, 0, 11);
  56. memset(ivuv, 0, 11);
  57. for(i=0;i<10;i++)    {
  58.     rmsi[i] = 0.0;
  59.     pc[i] = 0.0;
  60. }
  61. for(i=0;i<MAXORD;i++)
  62.   for(j=0;j<11;j++)
  63.     rci[i][j] = 0.0;
  64.  
  65. }
  66.  
  67.  
  68. initialize2()
  69. {
  70.     int i;
  71. /* ----------------------- analys.c ----------------------- */
  72. /* allocate space for the arrays */
  73. inbuf = inarray;
  74. lpbuf = lparray;
  75. ivbuf = ivarray;
  76. pebuf = pearray;
  77. /* Initialize space created */
  78. for(i=0;i<SBUFH-SBUFL+1;i++)    {
  79.     inarray[i] = 0.0;
  80.     pearray[i] = 0.0;
  81. }
  82. for(i=0;i<LBUFH-LBUFL+1;i++)
  83.   lparray[i] = 0.0;
  84. for(i=0;i<PWINH-PWINL+1;i++)
  85.   ivarray[i] = 0.0;
  86.  
  87. /* align C arrays to FORTRAN indexing */
  88. inbuf -= SBUFL;
  89. pebuf -= SBUFL;
  90. lpbuf -= LBUFL;
  91. ivbuf -= PWINL;
  92.  
  93. /* assign initial values to arrays - with C indexing */
  94. vwin[0][AF-1] = DVWINL;
  95. vwin[1][AF-1] = DVWINH;
  96. vwin[0][1] = 0.;
  97. vwin[1][1] = 0.;
  98. awin[0][AF-1] = DVWINL;
  99. awin[1][AF-1] = DVWINH;
  100. awin[0][1] = 0.;
  101. awin[1][1] = 0.;
  102.  
  103. for(i=0;i<MAXORD;i++)
  104.   rcbuf[0][i] = rcbuf[1][i] = rcbuf[2][i] = 0.0;
  105.  
  106. for(i=0;i<AF;i++)
  107.   rmsbuf[i] = 0.0;
  108.  
  109. for(i=0;i<LTAU;i++)
  110.   amdf[i] = 0.0;
  111.  
  112. memset(voibuf, 0, (AF+1)*2);
  113.  
  114. /* onset */
  115. for(i=0;i<16;i++)
  116.   l2buf[i] = 0.0;
  117.  
  118. }
  119.